// Package des 简化DES加密步骤，隐藏加密细节
// 为什么没有 ZeroPadding 填充，因为它没办法区分真实数据与填充数据，所以只适合以\0结尾的字符串加解密。
package des

import (
	"bytes"
)

// paddingPKCS5 补码
// 是限制块大小的PKCS7Padding，块大小固定为8字节。
func paddingPKCS5(text []byte) []byte {
	blockSize := 8
	padding := blockSize - len(text)%blockSize
	padText := bytes.Repeat([]byte{byte(padding)}, padding)
	return append(text, padText...)
}

// unPaddingPKCS5 减码
func unPaddingPKCS5(text []byte) []byte {
	length := len(text)
	padText := int(text[length-1])
	return text[:(length - padText)]
}
